package project.data;

import project.layer.agents.PackagePointAgent;
import project.layer.ant.AntLayer;
import project.layer.physical.Road;
import project.testenvironment.TestingParameters;

public class FeasibilityData extends EvaporableData implements Comparable<FeasibilityData> {

	private int originPackageId;
	private boolean isFromPickUpPoint = true;
	

	public boolean isFromPickUpPoint() {
		return isFromPickUpPoint;
	}

	private FeasibilityDataStack dataStack;
	
	public FeasibilityData(int originPackageId, FeasibilityDataStack stack, boolean isFromPickupPoint){
		super();
		this.originPackageId = originPackageId;
		this.dataStack = stack;
		this.isFromPickUpPoint = isFromPickupPoint;
		
	}
	
	@Override
	public double getEvaporationRate() {
		return TestingParameters.FEASIBILITY_DATA_EVAPORATION_RATE;
	}

	@Override
	public double getEvaporationCutOff() {
		return TestingParameters.FEASIBILITY_DATA_EVAPORATION_CUTOFF;
	}
	
	
	public int getOriginPackageId() {
		return originPackageId;
	}
	
	public FeasibilityDataStack getDataHolder(){
		return this.dataStack;
	}
	
	@Override
	public int compareTo(FeasibilityData other){
		if(this.getRemainingSmell() > other.getRemainingSmell()){
			return 1;
		}
		else{
			if(this.getRemainingSmell() < other.getRemainingSmell()){
				return -1;
			}
			else{
				return 0;
			}
		}
	}
	
	
	
	
	

}
